home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / System / MRAC / Lengths / Modify / l-condense-range < prev    next >
Lisp/Scheme  |  1998-08-11  |  606b  |  22 lines

  1. l-condense-range range pattern
  2.  
  3. 0-based
  4.  
  5. Use this function as an extension of length-condense when you wish to condense a range of note-length values with a note-length list. 
  6.  
  7. (setq len1 (qlength '20-11011))
  8. (setq len2 (qlength '((20-11011) (24-1131) (16-13) (20-14))))
  9.  
  10. (l-condense-range '(3 5) len1)
  11. => (1/20 1/20 -1/20 1/10)
  12.  
  13. (setq range
  14.       (pick-rnd1 .21 :content 2
  15.                  (g-integer 0 (l-count :all :content len2))))
  16. => ((5 1) (1 2) (0 2) (1 0))
  17.  
  18. internally to: ((1 5) (1 2) (0 2) (0 1)) 
  19.  
  20. (l-condense-range range len2)
  21. => ((1/20 1/20 -1/20 1/10) (1/24 1/24 1/8 1/24) (1/4) (1/20 1/5))
  22.